package com.xiaoge.createbeanmode;

import com.xiaoge.service.OrderService;
import org.springframework.stereotype.Component;

/**
 * TODO
 * 		1. 构造方法创建Bean, 有多个构造方法它会找无惨构造方法, 没有报错
 * 		2. 只有一个构造方法, spring会直接用那个构造方法
 * 		3. 标注了@Autowired的构造方法, spring会直接用
 * 		4. 带参构造, 它会去ioc容器中先去找对应的Bean, 赋值给对应参数, 先byType后byName因为byType可能会出现多个(在从byType中所得的数量在byName)
 *
 * @author <a href="mailto:1330137071@qq.com">Zhang Xiao</a>
 * @author <a href="mailto:zhangxiao@dist.com.cn">Zhang Xiao</a>
 * @since
 */
@Component
public class ConstructBean {

	private OrderService orderService;

	public ConstructBean(OrderService orderService) { // byType-->byName 单例池Map<beanName, bean对象> 单例池没有则创建, 前提是它标注了@Component等注解(注意: 根据类型找到是多个, 根据名称有没有对应的, 这时候因为是多个spring不知道用那个直接报错, 它不会传null)
		System.out.println(1);
	}
}
